import router from './router'
import store from './store'
import NProgress from 'nprogress' // Progress 进度条
import 'nprogress/nprogress.css'// Progress 进度条样式
import { Message } from 'element-ui'
import { getToken } from '@/utils/auth' // 验权

const whiteList = ['/login'] // 不重定向白名单
// NProgress.start()
router.beforeEach((to, from, next) => {
  console.log(to.path);
//console.log(form);
//console.log(next);
  NProgress.start()
  // next()
    if (to.path === '/login' || to.path === '/forgetpassword' || to.path === '/setpaypwd' || to.path === '/diver') {
      next()
      NProgress.done() // if current page is dashboard will not trigger	afterEach hook, so manually handle it
    } else {
      if(JSON.parse(localStorage.getItem('baseuserinfo'))){//本地有相关存储信息
        next()
      }else{//拉取用户信息
       
          store.dispatch('GetInfo').then(res => {
            if(res.success){
              next()
            }else{
              next({ path: '/login' })
              NProgress.done()
            }
           
        }).catch((err) => {
          next({ path: '/login' })
          NProgress.done()
        })
        
        // next({ path: '/login' })
      }
      
    }
  // if (getToken()) {
  //   if (to.path === '/login') {
  //     next({ path: '/' })
  //     NProgress.done() // if current page is dashboard will not trigger	afterEach hook, so manually handle it
  //   } else {
  //     if (store.getters.roles.length === 0) {
  //       //store.dispatch('GetInfo').then(res => { // 拉取用户信息
  //       next()
  //      //   next()
  //    //   }).catch((err) => {
          
  //         // store.dispatch('FedLogOut').then(() => {
  //         //   Message.error(err || 'Verification failed, please login again')
  //         //   next({ path: '/' })
  //         // })
  //    //   })
  //     } else {
  //       next()
  //     }
  //   }
  // } else {
  //   // if (whiteList.indexOf(to.path) !== -1) {
  //   //   next()
  //   // } else {
  //   //   next('/login')
  //   //   NProgress.done()
  //   // }
  //   next()
  //   // store.dispatch('GetInfo').then(res => { 
  //   //   console.log(res)
  //   // }).catch((err) => {
  //   //   console.log(err)
  //   //   next('/login')
  //   // })
  //  // next()
  // }
})

router.afterEach(() => {
  NProgress.done() // 结束Progress
})
